#!/bin/bash
sleep 0.1;echo "┌────────────────────────────────────────────────────────────────────────────────┐"
sleep 0.1;echo -e "
\e[1;36m  Security \e[0m\e[36m Безопасность
\e[0m"
sleep 0.1;echo "  Среды X отличаются своей безопасностью.
"
sleep 0.1;echo "  • Большинство серверов, работающих под управлением xdm, могут использовать схе-
  му авторизации «волшебный файл cookie», которая может обеспечить разумный уро-
  вень безопасности для многих людей.
  Если ваш сервер использует только механизм на основе хоста для управления досту-
  пом к серверу см. xhost, то если вы разрешите доступ для хоста и других пользо-
  вателей также разрешено запускать клиентов на том же хосте, возможно, кто-то
  сможет запустить приложение, использующее базовые службы X-протокола для отсле-
  живать ваши действия, потенциально записывая расшифровку всего,
  что вы печатаете на клавиатуре.
"
sleep 0.1;echo "  • Любой процесс, имеющий доступ к вашему X-дисплею, может манипулировать им не-
  ожиданным для вас образом, даже перенаправляя вашу клавиатуру на себя и отпра-
  вляя события в окна вашего приложения. Это справедливо даже для схемы авториза-
  ции «волшебный файл cookie». allowSendEvents обеспечивает некоторую защиту от
  мошеннических приложений, вмешивающихся в ваши программы,
  защита от шпиона сложнее.
"
sleep 0.1;echo "  • Например, расширение ввода X позволяет приложению обходить все другие (огра-
  ниченные) функции авторизации и безопасности, включая протокол GrabKeyboard.
"
sleep 0.1;echo "  • Возможность того, что приложение отслеживает ваши нажатия клавиш, вызывает
  особую озабоченность, когда вы хотите ввести пароль или другие конфиденциальные
  данные. Лучшее решение этой проблемы — использовать более совершенный механизм
  авторизации, чем тот, что предоставляется X.
"
sleep 0.1;echo "  С учетом всех этих предостережений
  существует простой механизм защиты ввода с клавиатуры в xterm.
"
sleep 0.1;echo -e "  Меню xterm (см. МЕНЮ выше) содержит запись Secure Keyboard, которая, если она
  включена, пытается гарантировать, что весь ввод с клавиатуры направляется только
  на xterm (используя запрос протокола GrabKeyboard). Когда приложение запрашивает
  у вас пароль (или другие конфиденциальные данные), вы можете включить
  \e[32mSecure Keyboard\e[0m с помощью меню, ввести данные,
  а затем снова отключить \e[32mSecure Keyboard\e[0m с помощью меню.
"
sleep 0.1;echo "  • Это гарантирует, что вы знаете, какое окно принимает нажатия клавиш.
"
sleep 0.1;echo "  • Он не может гарантировать, что нет процессов, имеющих доступ к вашему X-дис-
  плею, которые также могут отслеживать нажатия клавиш.
"
sleep 0.1;echo "  Одновременно только один X-клиент может захватить клавиатуру, поэтому при по-
  пытке включить безопасную клавиатуру может произойти сбой.
  В этом случае прозвучит звонок.
  Если безопасная клавиатура работает успешно, цвета переднего плана и фона поме-
  няются местами (как если бы вы выбрали запись «Включить обратное видео» в меню
  «Режимы»); они будут заменены снова, когда вы выйдете из безопасного режима.
  Если цвета не меняются, то вам следует очень подозревать, что вас подделывают.
  Если запущенное приложение отображает запрос перед запросом пароля, безопаснее
  всего войти в безопасный режим до отображения запроса и убедиться, что запрос
  отображается правильно (в новых цветах), чтобы свести к минимуму вероятность
  спуфинг. Вы также можете снова вызвать меню и убедиться,
  что рядом с записью стоит галочка.
"
sleep 0.1;echo "  Режим защищенной клавиатуры будет отключен автоматически, если ваше окно xterm
  становится значком (или иным образом не отображается), или если вы запускаете
  менеджер окон с переназначением (который размещает строку заголовка или другое
  украшение вокруг окна) в режиме защищенной клавиатуры. (Это особенность прото-
  кола X, которую нелегко преодолеть.) Когда это происходит, цвета переднего плана
  и фона переключаются обратно, и звучит предупреждающий сигнал."
sleep 0.1;echo "
└────────────────────────────────────────────────────────────────────────────────┘
"
